package com.lmf.annotation.bean;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.stereotype.Component;

/**
 * 后置处理器，在初始化前后进行处理工作
 * @author liayun
 *
 */
//类自定义管理生命周期，方式四： 实现BeanPostProcessor后置处理器实例，重写初始化方法前后调用的两个方法
@Component
public class MyBeanPostProcessor implements BeanPostProcessor {

    //重写初始化方法之前执行
    @Override
    public Object postProcessBeforeInitialization(Object o, String s) throws BeansException {
        System.out.println("MyBeanPostProcessor.............初始化之前。。。。。"+s);
        return o;
    }

    //初始化方法之后执行
    @Override
    public Object postProcessAfterInitialization(Object o, String s) throws BeansException {
        System.out.println("MyBeanPostProcessor.............初始化之后。。。。。"+s);
        return o;
    }
}
